Generally, modern computer applications, including business applications (e.g., enterprise resource planning (ERP) system applications, customer relationship management (CRM) applications, etc.), implement graphical user interfaces to interact with users. The growing complexity of the functionality embedded in such applications, and the abundance of managed data present a significant challenge for the application developers to design efficient and detailed user interfaces within the limited space of display devices. Usually, users have to scroll and swap/switch between a multitude of screens in their interaction with the applications to perform various tasks and to achieve desired results. In such a complex interface environment, it is necessary to maintain user's focus by tracking the accomplished work and keeping an up-to-date plan for the next actions.
Many business applications implement wizards or other types of techniques to guide users during execution of sequences of tasks of a complex process. The tasks are successively displayed one after another for execution in a graphical user interface (GUI), where the execution of one task invokes an interface for execution of a next task. Often, a roadmap is displayed within the GUI to help users keep track of a task flow while accomplishing a complex process. Such roadmaps could be described as plans that contain tasks and dependencies for accomplishment of complex processes. Roadmaps help users to navigate between tasks, inform the users for the executed tasks and the forthcoming tasks, provide additional information associated with the tasks, etc. Occasionally, roadmaps cannot display all the tasks of a process within a single screen. Therefore, a user has to navigate along a roadmap in a GUI to review the different tasks of a process.
The implementation of roadmaps provides significant advantage to users during the execution of guided procedures. Similarly, there are various other GUI tools that provide additional information to a user in order to facilitate the accomplishment of a particular action. When the additional information for accomplishment of a particular task is not provided in a single screen, a user has to scroll or navigate between numerous screens during the execution of the task. This navigation or scrolling could cause inefficiency and uncertainty in user's actions. Thus, the overall user performance, as well as the objective and subjective perception for usability of an application GUI, could be harmed.